Dear all, Find attached a patch (I think you're familiar with this kind of format), based on the previous development done by Steve Reynolds, and fully integrated (I hope in the spirit of LWIP ...) to support raw multicast (send and receive) and IGMP V1&V2 client node features. I made the development against the version 1.1.0 of the LWIP stack which is provided by Altera (www.altera.com) within its NIOS II / uCOSII environment. I hope it will be easy for you to merge theses modifications in your CVS development tree, if you're interested in ... ;-) For the time being, the IGMP development is only supported with IPV4. But I think it's not a big deal to support also IGMP/IPV6. As an overview, find below the list of modifications I made: api/socket.c api/api_lib.c api/api_msg.c New socket setsockopt() features support for ADD_MEMBERSHIP, DROP_MEMBERSHIP & MULTICAST_TTL and automatic IGMP (join and leave) packets processing. api/tcpip.c Init of the IGMP module core/ipv4/icmp.c ICMP checksum could be calculated at the hardware level (same as UDP/TCP/IP) core/ipv4/ipaddr.c Add new generic multicast IpAddr core/ipv4/ip.c Support of incoming multicast packet Modify the ip_output_if function to support an extra parameter specifying the header length: the IGMP packet need to include a specific descriptor in the IP header core/netif.c Add new function to find a interface according to a given IpAddr core/stat.c Add IGMP statistic include/... Various modifications to support adding features and declarations Any comment/remark/question is welcome. Gaël